اسماعیل بخش زاد محمودی

09118315058

09336485452

09373054607

09390617786

http://telegram.me/Electronic_iran

mehrsa_bm

Esmail_bakhshzad@yahoo.com esmail2bakhshzad@gmail.com

*راهنمای سفارش پروژه*




www.labcenter.co.uk/

www.powerengineering.blogfa.com

www.Elecdl.com

www.p30download.com

 

 

 

 

 

 

 

 

 

 

Google

در اين وبلاگ
در كل اينترنت

الکترونیک مقدماتی

مقاومت

سلف

خازن

دیود

دیود زنر

یک سوسازی دیود

ترانزیستور BJT

دیجیتال Digital

الکترونیک صنعتی

تایرستورها Thyristors

ترایاک TRIAC

ماسفت MOSFET

ترانزیستور دوقطبی IGBT

مبدل های DC به DC

اینورترها(DC/AC Inverter)

میکرو الکترونیک AVR

برنامه نویسی Assembl

1. مقدمه

2. دستورات محاسباتی


11.مدارات میکروکنترلر 8051

12.مدارات میکروکنترلر PIC

13.مدارات میکروکنترلر AVR

14.مدارات دیجیتال Digital

15.مدارات آنالوگ Analog

16. ماژول های الکترونیک

 



 


دانلود نرم افزارهای کاربردی

 


Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

ساعت

برنامه بنویسید که توسط آن یک ساعت دقیق دیجیتال داشته باشیم همچنین تاریخ تقویم آن به شمسی باشد همراه با محاسبه سال کبیسه و میلادی به شمسی به همراه تنظیم آن توسط یک کی پد 4*4 ساعت مدنظر بهتر است از نوع RTC باشد. نحوه نمایش آن برروی LCD2*16 به صورت کاراکتر های زیر باشد. بخش دیگر برنامه مدنظر باید یک کرنومتر Chronometer دیجیتال بانمایش بر روی ال سی دی بصورت مجزا باشد لازم بذکر است که در هنگام استفاده از کرنومتر نباید اطلاعات ساعت از دست برود. پیغام فارسی (ساعت) نیز در کنار نمایش رقم ها بر روی LCD نشان داده شود. برای شبیه ساز از نرم افزار پرتئوس Proteus استفاده نمایید.

نحوه نمایش

پروژه برنامه نویسی ساعت و تقویم ، کرنومتر با میکروکنترلر AVR

پروژه برنامه نویسی ساعت و تقویم ، کرنومتر با میکروکنترلر AVR

اهداف:استفاده از موارد زیر در ساخت و طراحی مدار در برنامه

  1. نواسان ساز خارجی 8 MHZ
  2. میکرو کنترلر AVR Atmega32
  3. مدار ریست میکروکنترلر Reset
  4. خروجی LCD از نوع کاراکتری و 16 در 2 یعنی دوخط دارد 16 کاراکتر در هر خط
  5. پتانسیومتر تنظیم درخشندگی کاراکتر ها
  6. مدار اسکن کلیدهای کی پد 4*4
  7. مدار بازر Buzzer برای صدای فشردن کلید ها
  8. اتصالات تراشه DS1307 به همراه نوسان ساز ساعت 32.768Khz
  9. باطری سکه ای 3ولت بک آپ برای نگهداری اطلاعات ساعت در هنگام قطع برق
  10. نمایشگر ثانیه شمار LED
  11. نمایش اطلاعات داخلی ساعت RTC تراشه DS1307

تراشه ساعت RTC به شماره DS1307:

آی سی DS1307 یک تراشه دقیق ساعت RTC می باشد. برای تنظیم آن خواندن و نوشتن در آن از روش ارتباط I2C استفاده می شود، این تراشه همیشه با یک باطری Backup سه ولتی استفاده می شود دلیل آن هم این است که اگر تغذیه مدار قطع شود اطلاعات ساعت و RAM تراشه از بین نمی رود.

ds1307

آدرس اطلاعات در تراشه به صورت جدول روبرو می باشد که از آدرس صفر که متغیر ثانیه را درخود نگه میدارد آدرس 07 هگز هم مربوط به تنظیم تراشه می باشد.

ds1307

برای روشن کردن نمایشگر ثانیه در تراشه که مستقیماً می شود به یک LED متصل نمود و با دستور زیر این پایه در بخش کنترل یعنی آدرس 07 تنظیم می شود:

ds1307

در دستور بالا با یک کردن SQW/OUT این پایه فعال خواهد شد

شرح تبدیل تقویم میلادی به شمسی و بالعکس:

چند نکته راجع به الگوریتم تبدیل تاریخ میلادی به شمسی(و بالعکس) و سالهای کبیسه شمسی و میلادی 1- سالهاي شمسي و ميلادي هر دو 365 روزه هستند مگر در سالهاي کبيسه که 366 روز ميباشند که اين استثناء هر 4 سال يکبار اتفاق ميافتد. و دليل آن هم اينست که طول يکسال شمسي و يا ميلادي دقيقأ 365 روز يا (ساعت)24 *(روز)365 =8760 ساعت نميباشد بلکه تقريبأ 365 روز و 4/1 روز يا 6 ساعت است. مقدار دقیق یک سال خورشیدی یا اعتدالی (Solar Year,tropical Year)برابر با 365.2422 روز است بعبارت دیگر مدت زمان یکبار گردش کامل زمین به دور خورشید راکه آنراسال خورشیدی مینامندبرابر است با 365.2422 یا (4.1288192 /1 + 365 )روز متوسط .دائره المعارف دریائی - خسرو مشتری خواه براي جبران و احتساب اين شش ساعت اضافه هر سال بدين ترتيب عمل ميشود که 4 تا از اين شش ساعت ها که 24 ساعت يا يکروز ميشوند را هر 4 سال يکبار سر جمع حساب کرده و به يک سال (که به آن کبيسه ميگويند) اضافه ميکنند و درواقع بدين ترتيب تقويم تنظيم وکاليبزه ميشود که اين موضوع 6 ساعت اختلاف در هر سال را ميتوان در زمان تحويل سال شمسي مشاهده کرد که هر سال نسبت به سال قبل يا بعد حدود 6 ساعت اختلاف ساعت دارد و هر 4 سال يکبار تقريبأ تحويل سال يکي ميشودکه در نهايت اين اختلاف ساعت ها را هر 4 سال يکبار سر جمع کرده و به يکي از سالها(سال کبيسه)همانطوريکه ذکر شد اعمال ميکنند. يافتن سالهاي کبيسه ميلادي وشمسي آسان است کافيست يک سال کبيسه را بدانيم و سالهاي 4+يا4- آنرا بدست اوريم مثلأ سال 2008 يک سال کبيسه است و همينطور سالهاي ...و 2000و2004و2008و2012و2016و2020و... سالهاي کبيسه بوده يا هستند. در مورد سالهاي کبيسه شمسي نيز مثلأ سال 1387 سال کبيسه بوده و ...و1379و1383و1387و1391و1395و1399و1403و... نيزسال کبيسه ميباشند. در واقع سالهاي آتي کبيسه قابل پيش بيني و منظور شدن در محاسبات هستند.و تقریبا هر 128 سال سالهای کبیسه همان مضارب 4 سال یکبار را تعقیب میکنند. هر 4 سال(هریک سال کبیسه) 0.7486 ساعت کم می آورد که در مجموع حدود هر 128 سال یکبار نیاز به تنظیم دارد. 2- شناسائي و دانستن تعداد روزهاي هرماه ازسال ميلادي و يا شمسي لازم است که تعداد روزهاي ماه هاي شمسي تا حدودي منطقي تر ومنظم تر هستند ليکن در هر 2 مورد تعداد روزهاي يک سال ميلادي يا شمسي مجموعأ 365 روز است به استثناء سال کبيسه که 366 روز بوده وآن يک روز اضافه را هم به انتهاي يکي از ماه هاي مشخص سال مربوطه اضافه ميشود که به قرار زير ميباشند:

نوشتن برنامه برای تبدیل میلادی به شمسی و بلعکس:

براي تبديل تاريخ شمسي به ميلادي و برعکس بايد تعداد روزهاي سپري شده از ابتداي هر کدام از اين تاريخ‌ها را از مبدا خود به دست بياوريم. اگر مي‌خواهيم تاريخ شمسي را به ميلادي تبديل کنيم ابتدا بايد روزهاي سپري شده از مبدا تاريخ شمسي تا کنون را حساب کنيم و آن را به اضافه‌‌ي 226899 بکنيم. عدد به دست آمده تعداد روزهاي گذشته از ابتداي تاريخ ميلادي تا کنون است و با استفاده از آن مي‌توانيم تاريخ ميلادي را حساب کنيم. براي تبديل تاريخ ميلادي به شمسي همين کار را بايد برعکس انجام بدهيم و عدد 226899 را بايد از تعداد روزهاي تاريخ ميلادي کم بکنيم و در اين قسمت عدد به دست آمده تاريخ شمسي است. همين روش نيز براي تبديل تاريخ قمري به شمسي و برعکس نيز قابل استفاده است. ولي در اين مورد ديگر عددي که بايد اضافه يا کم بشود 226899 نيست. شايد از خود بپرسيد که عدد 226899 را از کجا به دست آورده‌‌ام. براي به دست آوردن اين عدد بايد تاريخ شمسي و ميلادي يک روز را در اختيار داشته باشيد. به عنوان مثال 13/4/1383 شمسي طبق تقويم برابر 3/7/2004 ميلادي است. کاري که بايد الا بکنيم اين است که اين دو تاريخ را به روز تبديل کنيم و در اين تبديل بايد تعداد سال‌هاي کبيسه‌اي که اين دو تاريخ پشت سر گذاشته‌اند نيز فراموش نکنيم. براي اينکه تعداد سال‌هاي کبيسه را در دو تقويم ميلادي و شمسي بخواهيم محاسبه کنيم بايد 1382 را براي تقويم شمسي و 2003 را براي تقويم ميلادي تقسيم بر 4 کنيم. خارخ قسمت اين دو تقسيم به ترتيب تعداد سال‌هاي کبيسه‌ي تقويم شمسي و ميلادي است که از ابتداي شروع به کار اين تقويم‌ها تا کنون پشت سر گذاشته‌اند. البته اين اعداد مطابق واقعيت نيستند! ولي به محاسبات ما اشکالي وارد نمي‌کنند. در تقسيم 1382 بر 4 خارج قسمت برابر 345 مي‌شود و اين عدد براي تقويم ميلادي برابر 500 است. خب پس تا کنون بر اساس تقويم شمسي 345 سال کبيسه بوده و بر اساس تقويم ميلادي 500 سال برابر سال کبيسه بوده‌اند. (البته همان طور که ديد به کبيسه بودن سالي که در آن هستيم هنوز توجهي نکرديم.) خب برگرديم به مساله‌ي خودمان که مي‌خواستيم دو تاريخ 13/4/1383 و 3/7/2004 به روز تبديل کنيم. براي اين کار بايد از عدد سال يکي کم کرده و در 365 ضرب کنيم. و از عدد ماه نيز بايد يکي کم کرده و بر اساس نوع تقويم بايد عدد ماه را ضرب در عدد خاصي بکنيم. مثلا وقتي در تاريخ شمسي از عدد ماه يکي کم کنيم حاصل 3 مي‌شود. همان طور که مي‌دانيد در تقويم شمسي 3 ماه اول سال 31 روز دارند، پس 3 را در 31 ضرب مي‌کنيم. ولي در تاريخ شمسي وقتي از 7 يکي کم کينم برابر 6 مي‌شود. خب بايد در اين مورد ببينيم که 6 ماه اول سال ميلادي چند روزه هستند.

بخش برنامه کرنومتر

در این زیر برنامه سه متغیر داریم که به ترتیب از 0-9 و 0-59 و 0-59 امکان تغییر دارند از خط 99 به بعد کار افزایش و شمارش کرنومتر انجام می شود از 0-9 که صدم ثانیه می باشد البته بخاطر تأخیر های موجود در برنامه 90 ms در نظر گرفتم و گرنه باید 100 میشود که مقدار حقیقی آن با نمایش و چک کردن با یک ثانیه شمار دیگر مثلا صدای یکه ساعت مکانیکی هماهنگی در دقیقه دیده می شود تاخییر هر شمارش این سه متغییر سازمان دهی می شود

نمایش کاراکتر فارسی بر روی LCD:

همانطور که میدانیم ال سی دی های موجود در بازار دارای کاراکتر های فارسی ذخیره شده در رم LCD نیستند برای آنکه بشود بصورت محدود حروف فارسی را بر روی ال سی دی نمایش داد باید این کاراکتر ها را ابتدا رسم نموده سپس کد هگز آن را در قالب یک آرایه در حافظه رم LCD RAM ذخیره نمود برای این کار از نرم افزار مبدل LCD Character –Tools استفاده میکنیم فونت فارسی را همانند تصویر های زیر بررروی نرم افزار رسم نموده کد مربوطه را دریافت و به برنامه اضافه میکنیم

 ساعت و تقویم ، کرنومتر با میکروکنترلر AVR

توجه: اگر شما این پروژه را با زبانهای برنامه نویسی و یا اینکه تراشه های میکروکنترلری دیگری مورد نیاز داشته باشید، می توانید از طریق بخش سفارش پروژه اقدام نمایید.

برنامه C برای AVR

 کرنومتر با میکروکنترلر

نکته: آموزش طراحی و برنامه نویسی تراشه میکروکنترلر AVR به زبان C و توضیح خط به خط برنامه به همراه پروژه برای شما ارسال خواهد شد نمونه ای از بخش های این فایل راهنما در شکل ها آورده شده است:

 


(( سفارش پروژه ))

برای سفارش این برنامه با همین شکل و اجزاء و یا تغییر برنامه مورد نظر به دلخواه خود می توانید از روش های زیر اقدام نمائید، کد سفارش پروژه را ارسال کنید:

هزینه طراحی: SMS-> 0911 831 50 58

کد سفارش پروژه: 103p75

سفارش پروژه >>> Project-esisis.com/Content


برای ارتباط با مدیر سایت از لینکهای زیر استفاده کنید

آدرس کانال سایت در تلگرام : www.telegram.me/Electronic_iran

آیدی جهت ارتباط در تلگرام: @Electronic_iran

 


 

 

 

 

 

 

 

 

 

<img src="Background/Signbot LED (1).gif" width="249" height="49" alt="Signbot LED (1)" />
فروشگاه الکترونیک
کسب درآمد میلیونی در ماه
کانال تلگرام